package controllerCon;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTable;

import domijn.Categorie;
import domijn.Drank;
import domijn.Gerecht;
import domijn.Menu;
import pnlBeheer.PnlGDBeheer;
import tblModelDrank.TMADrank;
import tblModelDrank.TMDrank;
import tblModelDrank.TMRDrank;
import tblModelGerecht.TMAGerecht;
import tblModelGerecht.TMGerecht;
import tblModelGerecht.TMRGerecht;

public class ConBtnDelete implements ActionListener {

	private PnlGDBeheer pnlGDBeheer;
	@SuppressWarnings("unused")
    private TMRGerecht tmrg;
	@SuppressWarnings("unused")
    private TMAGerecht tmag;
	@SuppressWarnings("unused")
	private TMRDrank tmrd;
	@SuppressWarnings("unused")
	private TMADrank tmad;
	@SuppressWarnings("unused")
	private TMGerecht tmg;
	@SuppressWarnings("unused")
	private TMDrank tmd;
	private JTable lstg;

	
	public ConBtnDelete(PnlGDBeheer pnlGDBeheer) {
		this.pnlGDBeheer = pnlGDBeheer;
		tmrg = new TMRGerecht(pnlGDBeheer);
		tmag = new TMAGerecht(pnlGDBeheer);
		tmrd = new TMRDrank(pnlGDBeheer);
		tmad = new TMADrank(pnlGDBeheer);
		tmg  = new TMGerecht(pnlGDBeheer);
		tmd  = new TMDrank(pnlGDBeheer);
	}

	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand().equals("Delete")) {
			Menu cbMenu;
			Categorie cbCat;
			String cbSCon, cbSMenu,  gdOnummer, gdNnummer, gdnaam, gdprijs, gdbeschrijving;
			
			cbMenu			= (Menu) pnlGDBeheer.getBoxMenu().getSelectedItem();
			cbCat 			= (Categorie) pnlGDBeheer.getBoxCat().getSelectedItem();
			gdOnummer		= pnlGDBeheer.getTxtOldNumber().getText();
			gdNnummer		= pnlGDBeheer.getTxtNewNumber().getText();
			gdnaam			= pnlGDBeheer.getTxtName().getText();
			gdprijs 		= pnlGDBeheer.getTxtPrice().getText();
			gdbeschrijving  = pnlGDBeheer.getTxtDiscr().getText();
			
			int IntONr = Integer.valueOf(gdOnummer);
			int IntNNr = Integer.valueOf(gdNnummer);
			
			Gerecht g = new Gerecht(cbMenu, cbCat, 0, IntONr, IntNNr, gdnaam, gdprijs, gdbeschrijving);
			Drank d = new Drank(cbMenu, cbCat, 0, IntONr, IntNNr, gdnaam, gdprijs, gdbeschrijving);
			
			System.out.println(g);
			System.out.println("Gerecht verwijderen");
			
			cbSCon			= (String) pnlGDBeheer.getBoxCon().getSelectedItem().toString();
			cbSMenu			= (String) pnlGDBeheer.getBoxMenu().getSelectedItem().toString();
			lstg 			= pnlGDBeheer.gettblCon();
			
			if(gdOnummer.equals("")){
				JOptionPane.showMessageDialog(pnlGDBeheer, "Selecteer eerst een gerecht of drank uit de tabel alvoorts het te verwijderen !");
			}
			else{
				if(JOptionPane.showConfirmDialog(new JFrame(),
						"Wilt u deze gegevens verwijderen?",
						"Save Data",
						JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION){
					System.out.println("dont delete");	
					}		
				else{
					if (cbSCon.equals("Gerecht")){
						System.out.println("delete gerecht");
						g.delete();
						System.out.println("gerecht deleted");
						if(cbSMenu.equals("Afhaal")){
							 lstg.setModel(tmag = new TMAGerecht(pnlGDBeheer));	
							 lstg.repaint();
						}
						if(cbSMenu.equals("Restaurant")){
							 lstg.setModel(tmrg = new TMRGerecht(pnlGDBeheer));	
							 lstg.repaint();
					    }
					}
					if (cbSCon.equals("Drank")){
						d.delete();
						if(cbSMenu.equals("Afhaal")){
							 lstg.setModel(tmad = new TMADrank(pnlGDBeheer));
							 lstg.repaint();
						}
						if(cbSMenu.equals("Restaurant")){
							 lstg.setModel(tmrd = new TMRDrank(pnlGDBeheer));	
							 lstg.repaint();
						}
					}
				}
				}
			}
		}
	}